/*
 * Validate that is this program worth to be executable
 * Here i and f are int and float respectively.
 * Afterwards we are storing their addresses in char pointer and trying to access them using char pointer.
 * See Size of Data Types
 * char		- 1 byte
 * integer	- 4 byte
 * float	- 8 byte
 *
 * Now if we are using char pointer to access an integer pointer then program would have access of only first byte of an integer
 * and same for float pointer as well
 *
 * For Example:
 *
 * Here we have set i = 54
 * Try to set value of i = 1000 and see the result
 */

#include <stdio.h>

int main()
{
	int i = 54;
	float f = 3.14;
	char *ii, *ff;

	ii = (char *) &i;
	ff = (char *) &f;

	printf("Address contained in ii = %u\n", ii);
	printf("Address contained in ff = %u\n", ff);
	printf("Value at the address contained in ii = %d\n", *ii);
	printf("Value at the address contained in ff = %d\n", *ff);

	return 0;
}
